www.gusucode.com > Dual Clutch Transmission Model in Simulink工具箱源码 > Dual Clutch Transmission Model in Simulink/Dual_Clutch_Trans_R19a/Fuel_Consumption/Create_Fuel_Consumption_LUT.m
%% ESTIMATE FUEL CONSUMPTION WITH MEASURED DATA % Copyright 2011-2019 The MathWorks, Inc. % CONSTANTS gasoline_density_gpm3 = 750*1000; % Grams per cubic meter gallons_per_m3 = 264.172; % gallons per cubic meter %% IMPORT EXPERIMENTAL DATA % http://www.transportation.anl.gov/pdfs/HV/2.pdf FC_Measured_Data = xlsread('Fuel_Consumption_DATA.xlsx'); FCData.Speed_RPM = FC_Measured_Data(1:(end-1),1); FCData.Trq_Nm = FC_Measured_Data(1:(end-1),2); FCData.FuelUse_gps = FC_Measured_Data(1:(end-1),3)/gallons_per_m3*gasoline_density_gpm3; Fuel_Consumption_PlotData %% OPEN CURVE FITTING TOOL cftool(FCData.Speed_RPM, FCData.Trq_Nm, FCData.FuelUse_gps) % Polynomial, x=2, y=2 % Fit/Save to Workspace % sftool('FC_SFit_Session.sfit') % Saved Session %% GENERATE LOOKUP TABLE load FCMap_Poly2 numpts = 20; FCMap.Speed_Vector = linspace(min(FCData.Speed_RPM),max(FCData.Speed_RPM),numpts); FCMap.Torque_Vector = linspace(min(FCData.Trq_Nm),max(FCData.Trq_Nm),numpts); [SpeedArray,TorqueArray] = meshgrid(FCMap.Speed_Vector,FCMap.Torque_Vector); FCMap.Consumption_Table = FCMap_Poly2(SpeedArray,TorqueArray); % PLOT LOOKUP TABLE AS SURFACE surf(SpeedArray,TorqueArray,FCMap.Consumption_Table); legend({'Measured Data'},'Location','Best') % WIDER EXTRAPOLATION %numpts = 20; %FCMap.Speed_Vector = linspace(0,7000,numpts); %FCMap.Torque_Vector = linspace(0,200,numpts);